Service providers typically provide numerous voice and data services to subscribers. Examples of voice services are voice calls, call forwarding, call waiting, etc. Examples of data services are streaming audio, streaming video, Voice over IP (VoIP), online gaming, and IP-TV. The data services are managed by a packet core network, which interfaces the subscriber with external packet networks such as the internet. Some examples of packet core networks are a GPRS core network, an Evolved Packet Core (EPC) network, etc. A subscriber uses a mobile device, such as a cell phone, a personal data assistant, a smart phone, etc, to connect with a Radio Access Network (RAN). The RAN may be a packet-based network that provides IP connectivity, which is also referred to as an IP Connectivity Access Network (CAN). The RAN in turn connects to the packet core network in order to provide the subscriber with access to the data services.
To access a data service, the mobile device transmits a request to initiate a data session (e.g., an IP-CAN session) to the packet core network via the RAN. The session request includes a description of the requested data service (e.g., online gaming, IP-TV, etc). The packet core network authenticates the mobile device and determines which data services the mobile device is authorized to receive. If the requested service is authorized, the packet core network reserves a bearer path (e.g., an IP CAN bearer) of a defined capacity, delay, and bit error rate. A flow of packets may then begin for the service, which is referred to as a service data flow.
Service providers desire to control how the RAN is used in providing the data services. Thus, the service providers typically implement Policy and Charging Control (PCC). Policy control refers to the process of controlling the bearer path for the service data flow. For example, policy control includes bearer establishment, Quality of Service (QoS) control, and gating control (blocking or allowing packets to pass). Charging control refers to the process of associating packets of the service data flow to a charging key or identifier, and applying online charging and/or offline charging as appropriate. The service providers define PCC rules that may be used for data services that are requested by its subscribers.
The 3rd Generation Partnership Project (3GPP, 3GPP2) has defined a PCC architecture for packet core networks. One example of a PCC architecture is described in 3GPP TS 23.203 (Release 9). The PCC architecture suggested by the 3GPP includes a Policy and Charging Rules Function (PCRF), a gateway (e.g., a GGSN or packet data gateway) comprising a Policy and Charging Enforcement Function (PCEF), an application function (AF), a Bearer Binding and Event Reporting Function (BBERF), a Subscription Profile Repository (SPR), an Online Charging System (OCS) comprising a Service Data Flow based Credit Control (SDFBCC) function, and an Offline Charging System (OFCS). As a brief description of some of the elements of the PCC architecture, the PCRF makes policy control decisions and flow-based charging control decisions to select which PCC rules to implement for a service data flow. The PCEF in the gateway provides service data flow detection, user plane traffic handling, QoS handling, service data flow measurement, and online/offline charging interactions. The SPR stores subscriber data and subscription related information, such as in a subscriber profile. The SDFBCC performs online credit control functions within the OCS, such as reserving credit, granting quotas, etc.
The 3GPP standards also describe how PCC rules are selected in the PCC architectures. The standards suggest that PCC rules are selected in the PCRF based largely on subscriber-related data, such as the data stored in the SPC. It may be desirable to select PCC rules in a different manner.